home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus Special 25 / AMIGAplus Sonderheft 25 (2000)(Falke)(DE)(Track 1 of 4)[!].iso / Updates / PowerPC / chunkyppc / chunkyppc_protos.h.ade < prev    next >
Text File  |  2000-05-16  |  8KB  |  192 lines

  1. #ifndef CLIB_CHUNKYPPC_H
  2. #define CLIB_CHUNKYPPC_H
  3. #ifndef EXEC_LIBRARIES_H
  4. #include <exec/libraries.h>
  5. #endif
  6. #ifndef GRAPHICS_GFX_H
  7. #include <graphics/gfx.h>
  8. #endif
  9. #include <intuition/intuition.h>
  10. #include <libraries/asl.h>
  11. #include <cybergraphx/cybergraphics.h>
  12.  
  13. #ifdef __PPC
  14. #include <powerpc/warpup_macros.h>
  15. #endif
  16.  
  17. extern struct Library *ChunkyPPCBase;
  18.  
  19. #ifndef __INLINE_MACROS_H
  20. #ifdef __PPC
  21. #include <powerup/ppcinline/macros.h>
  22. #else
  23. #include <inline/macros.h>
  24. #endif
  25. #endif /* !__INLINE_MACROS_H */
  26.  
  27. #ifndef CHUNKYPPC_BASE_NAME
  28. #define CHUNKYPPC_BASE_NAME ChunkyPPCBase
  29. #endif /* !CHUNKYPPC_BASE_NAME */
  30.  
  31. #define ChunkyInit68k(Mode_Screen_, srcformat) \
  32.     LP2(0xc6, int, ChunkyInit68k, struct Mode_Screen *, Mode_Screen_, a0, int, srcformat, d0, \
  33.     , CHUNKYPPC_BASE_NAME,0,0,0,0,0,0)
  34.  
  35. #define CloseGraphics(Mode_Screen_, shutdownlibs) \
  36.     LP2NR(0xd2, CloseGraphics, struct Mode_Screen *, Mode_Screen_, a0, int, shutdownlibs, d0, \
  37.     , CHUNKYPPC_BASE_NAME,0,0,0,0,0,0)
  38.  
  39. #define DoubleBuffer(Mode_Screen_) \
  40.     LP1NR(0xde, DoubleBuffer, struct Mode_Screen *, Mode_Screen_, a0, \
  41.     , CHUNKYPPC_BASE_NAME,0,0,0,0,0,0)
  42.  
  43. #define LoadColors(Mode_Screen_, Table) \
  44.     LP2NR(0xd8, LoadColors, struct Mode_Screen *, Mode_Screen_, a0, ULONG *, Table, a1, \
  45.     , CHUNKYPPC_BASE_NAME,0,0,0,0,0,0)
  46.  
  47. #define OpenGraphics(Title, Mode_Screen_, override) \
  48.     LP3(0xcc, struct Mode_Screen *, OpenGraphics, char *, Title, a0, struct Mode_Screen *, Mode_Screen_, a1, int, override, d0, \
  49.     , CHUNKYPPC_BASE_NAME,0,0,0,0,0,0)
  50.  
  51. #define BIT16 1
  52. #define BIT16_SWAP 2
  53. #define BIT16_ROT 4
  54. #define BIT16_SWAP_ROT 8
  55. #define BIT24 16
  56. #define BIT24_ROT 32
  57. #define BIT32 64
  58. #define BIT32_SWAP 128
  59. #define BIT32_ROT 256
  60. #define BIT32_SWAP_ROT 512
  61. #define BIT32_ROT_REVERSE 1024
  62. #define BIT32_SWAP_ROT_REVERSE 2048
  63. #define BIT8 4096
  64.  
  65. struct Soff
  66. {
  67.  int x,y;
  68. };
  69.  
  70. struct Buffers
  71. {
  72.  UBYTE *address;
  73.  UBYTE *mask;
  74. };
  75.  
  76. struct Mode_Screen
  77. {
  78.     struct Screen *video_screen;
  79.     struct Window *video_window;
  80.     int bpr;
  81.     int wb_int;
  82.     int pip_int;
  83.     int dbuf_int;
  84.     int oldstyle_int;
  85.     char pubscreenname[512];
  86.     int mode;
  87.     int SCREENWIDTH;
  88.     int SCREENHEIGHT;
  89.     int MS_MAXWIDTH;
  90.     int MS_MAXHEIGHT;
  91.     int MINDEPTH;
  92.     int MAXDEPTH;
  93.     int format;
  94.     int video_depth;
  95.     UWORD *emptypointer;
  96.     struct BitMap *video_tmp_bm;
  97.     int video_is_native_mode;
  98.     int video_is_cyber_mode;
  99.     unsigned char *screen;
  100.     int video_oscan_height;
  101.     int bufnum;
  102.     struct RastPort *video_rastport;
  103.     struct BitMap *bitmapa;
  104.     struct BitMap *bitmapb;
  105.     struct BitMap *bitmapc;
  106.     struct BitMap *thebitmap;
  107.     struct RastPort *video_temprp;
  108.     struct ScreenModeRequester *video_smr;
  109.     int ham_int;
  110.     UBYTE *wbcolors;
  111.     UBYTE *transtable;
  112.     unsigned long *WBColorTable;
  113.     unsigned long *ColorTable;
  114.     int pal_changed;
  115.     int pen_obtained;
  116.     unsigned char *screenb;
  117.     unsigned char *screenc;
  118.     int numbuffers;
  119.     int rtgm_int;
  120.     struct ScreenBuffer *Buf1;
  121.     struct ScreenBuffer *Buf2;
  122.     struct ScreenBuffer *Buf3;
  123.     void * (*algo)(struct Mode_Screen *ms,unsigned char *dest,unsigned char *src, int srcformat,void *(*hook68k)(unsigned char *data),unsigned char *data);
  124.     void (*Internal1)(void);
  125.     void (*Internal2)(void);
  126.     int onlyptr;
  127.     int likecgx;
  128. };
  129.  
  130. #ifdef __PPC
  131. #define ChunkyNoffFast(v1,v2,v3,v4,v5) PPCLP5NR (ChunkyPPCBase,-30,UBYTE *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5)
  132.  
  133. #define ChunkyNoffFastest(v1,v2,v3,v4,v5) PPCLP5NR (ChunkyPPCBase,-36,UBYTE *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5)
  134.  
  135. #define ChunkyNoffNormal(v1,v2,v3,v4,v5) PPCLP5NR (ChunkyPPCBase,-42,UBYTE *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5)
  136.  
  137. #define ChunkyFast(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase,-48,UBYTE *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9, v6, int,10, v7)
  138.  
  139. #define ChunkyFastest(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase,-54,UBYTE *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  140.  
  141. #define ChunkyNormal(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase,-60,UBYTE *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  142.  
  143. #define ChunkyFastFull(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase, -66, UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3, struct Soff *,7,v4,int,8,v5,struct Soff *,9,v6,int,10,v7)
  144.  
  145. #define ChunkyFastestFull(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase, -72, UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3, struct Soff *,7,v4,int,8,v5,struct Soff *,9,v6,int,10,v7)
  146.  
  147. #define ChunkyNormalFull(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase, -78, UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3, struct Soff *,7,v4,int,8,v5,struct Soff *,9,v6,int,10,v7)
  148.  
  149. #define c2p_1(v1,v2,v3,v4) PPCLP4NR (ChunkyPPCBase, -84, UBYTE *,4,v1,struct BitMap *,5,v2,int,6,v3,int,7,v4)
  150.  
  151. #define c2p_2(v1,v2,v3,v4) PPCLP4NR (ChunkyPPCBase, -90, UBYTE *,4,v1,UBYTE *,5,v2,UBYTE *,6,v3,int,7,v4)
  152.  
  153. #define c2p_3(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR (ChunkyPPCBase, -96, void *,4,v1,void *,5,v2,int,6,v3,int,7,v4,struct Soff *,8,v5,int,9,v6,int,10,v7)
  154.  
  155. #define c2p_4(v1,v2,v3,v4,v5,v6) PPCLP6NR (ChunkyPPCBase, -102, void *,4,v1,UBYTE *,5,v2,UBYTE *,6,v3,struct Soff *,7,v4, struct Soff *,8,v5, struct Soff *,9,v6)
  156.  
  157. #define ChunkyNoffFastHT(v1,v2,v3,v4,v5,v6) PPCLP6NR(ChunkyPPCBase,-108,UBYTE *,4,v1, UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6)
  158.  
  159. #define ChunkyNoffFastestHT(v1,v2,v3,v4,v5,v6) PPCLP6NR(ChunkyPPCBase,-114,UBYTE *,4,v1, UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6)
  160.  
  161. #define ChunkyNoffNormalHT(v1,v2,v3,v4,v5,v6) PPCLP6NR(ChunkyPPCBase,-120,UBYTE *,4,v1, UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6)
  162.  
  163. #define ChunkyFastHT(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-126,UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  164.  
  165. #define ChunkyFastestHT(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-132,UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  166.  
  167. #define ChunkyNormalHT(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-138,UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  168.  
  169. #define ChunkyFastFullHT(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-144,UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,struct Soff *,7,v4,struct Soff *,8,v5,struct Soff *,9,v6,int,10,v7)
  170.  
  171. #define ChunkyFastestFullHT(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-150,UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,struct Soff *,7,v4,struct Soff *,8,v5,struct Soff *,9,v6,int,10,v7)
  172.  
  173. #define ChunkyNormalFullHT(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-156,UBYTE *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,struct Soff *,7,v4,struct Soff *,8,v5,struct Soff *,9,v6,int,10,v7)
  174.  
  175. #define ChunkyNoffMask(v1,v2,v3,v4,v5,v6) PPCLP6NR(ChunkyPPCBase,-162,struct Buffers *,4,v1,UBYTE *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6)
  176.  
  177. #define ChunkyMask(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-168,struct Buffers *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  178.  
  179. #define ChunkyMaskFull(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-174,struct Buffers *,4,v1,UBYTE *,5,v2,struct Soff *,6,v3,struct Soff *,7,v4,struct Soff *,8,v5,struct Soff *,9,v6,int,10,v7)
  180.  
  181. #define c2p_HI(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-180, UBYTE *,4,v1,int,5,v2,UBYTE *,6,v3,UBYTE *,7,v4,UBYTE *,8,v5,UBYTE *,9,v6,UBYTE *,10,v7)
  182.  
  183. #define ham_c2p(v1,v2,v3,v4,v5,v6,v7) PPCLP7NR(ChunkyPPCBase,-186. unsigned char *,4,v1,unsigned char *,5,v2,int,6,v3,int,7,v4,int,8,v5,int,9,v6,int,10,v7)
  184.  
  185. #define ChunkyInit(v1,v2) PPCLP3(ChunkyPPCBase,-192,int,struct Library *,3,ChunkyPPCBase,struct Mode_Screen *,4,v1,int,5,v2)
  186.  
  187. #define CallChunkyCopy(ms,dest,src,srcformat,hook68k,data) PPCLP6(&((struct Mode_Screen *)ms)->algo,-2,void *,struct Mode_Screen *,3,ms,unsigned char *,4,dest,\
  188.                                                                     unsigned char *,5,src,int,6,srcformat,void *,7,hook68k,unsigned char *,8,data)
  189. #endif
  190.  
  191. #endif
  192.